#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QApplication>
#include <QObject>

#include <QMovie>

#include <QPixmap>
// 绘图
#include <QIcon>
#include <QLabel>
#include <QPainter>

#include <QMessageBox>
#include <QDebug>

// 鼠标和键盘
#include <QMouseEvent>
#include <QKeyEvent>

// 数据库头文件
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlError>
#include <QVariant>

QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private:
    // ===================== 数据库 成员 =====================
    QSqlDatabase db;  // 数据库连接
    QSqlQuery query;  // 查询对象


    // 数据库初始化
    void sql_init();

private slots:

    void on_log_in_Button_clicked();

    void on_regButton_clicked();

signals:

    void log_in_yes(QString user);

public:

    QLabel * backgroundLabel;		// 增加一个 QLabel 的类
    // 记录偏差坐标
    QPoint off_Pox;
    // 判断是否为左键按下 按下为true
    bool is_key = false;

    void gif_init();

protected:
    void resizeEvent(QResizeEvent *event); // 重写 resizeEvent

    // 按下
    void mousePressEvent(QMouseEvent *event);

    // 松开
    void mouseReleaseEvent(QMouseEvent *event);

    // 移动
    void mouseMoveEvent(QMouseEvent * event);

    // 键盘事件 按下esc退出
    void keyPressEvent(QKeyEvent *event);


private:
    Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
